Full-Circle Command Functionality
Portal allows you the ability to call aliases or macros from within other commands. From the command line (typed
commands) this is obvious. If you had an alias "lockdoors" with 5 commands in it, you would be able to type in
"lockdoors" into the command line and Portal would fire off the 5 commands contained in lockdoors. Now let's say
you had another alias "gohome" with a few commands in it. You could put the command "lockdoors" on its own line
somewhere in the alias script for "gohome". Then, when the gohome alias is invoked, it will run through the
script, and when it comes across "lockdoors" it will then fire the commands in lockdoors as well.
It works pretty much like this. For every command, Portal basically looks for it to be an alias or macro. If it
finds one, great, it'll then fire it. If not, it'll send the text as is. This means that in the above example,
if there was no "lockdoors" alias, Portal would send "lockdoors" as is.
Here's another example for you. Let's say you have a macro F4 filled with a dozen commands. Let's say you also
have an alias with a few commands in it, but you also want to automatically run the F4 macro after the alias is
done. Well, manually you'd just type in the alias, then press the F4 key. "But that's not automatic" you say, and you'd be right. To make it automatic, you'd put one more command in the alias of "F4". This would tell the alias to run the commands in macro F4.
Note: Remember, alias and macro commands called from other commands are case-sensitive. This means in our examples, Lockdoors wouldn't work, nor would f4.
Note: This works slightly differently for autotyped or sent (pasted or via file) commands. These commands do not check for other commands. If you wish for a specific line in the text to do so, simply put a % in the first character. For example, assume you have the alias "lockdoors". Now, if you had a line in the autotyper called "lockdoors" the text "lockdoors" would be sent, not the alias commands. If you had "%lockdoors" instead, the alias commands would fire.
Note: You can enter comments/remarks into scripts by using the letters "REM" (all must be uppercase) as the first three characters in the command. This basically tells Portal© to completely ignore that line.
Activator Character Commands
The activator
character is a very special character indeed, for it allows you to access many
different features within the client.
Most special functions are accessed via the command line, while a couple
other functions are used in other program screens. Any special activator character functions you can do in the
command line can also be done via any action such as aliases, macros, scheduler
events, etc. This level of complexity
gives you virtually billions of different interactions you can do between
actions.
Note: One thing to
remember is that the context and position of the character is vital to what it
can do for you. Putting in a rogue
space or spelling a word incorrectly could result in something totally
different from what you expect.
The character can
be one of many you decide to use via the program
options screen, but once it is
chosen, that character is designated the activator character for the entire
program until you decide to change it again.
Below is a complete listing of the functions of the activator character. In all instances, all the default values are
assumed. This includes the activator
character (the semicolon: ;) and all quickchars. The term <AC> will be used to represent the activator
character in the examples.
There are two
facets of the activator character not detailed in this file. That is the process, if and system
commands. These are fully defined in
the Using Variables help file.
Note: You’ll notice that
the activator must be the first character for any of these examples to be
used. Sometimes you don’t wish the game
to read the activator character at all (like if you wanted to send someone a
line of text full of them). In this
case, you would place a “ as the first character. This tells the game to not process anything at all for that
command. The command will be sent 100%
literally as it is typed (the leading “ will be deleted though). No activator character parsing will be done
to the text, nor will variables or nicknames be replaced. No functions will be evaluated and no ! will
be added to any commands either.
Text Entered: “;grin;say hi there cap(@abc);grin
Text Actually
Sent: ;grin;say hi there cap(@abc);grin
Normally this
would follow the text options (program options screen) for the given command
with regards to variables, functions, parsing, etc. The “ in the first position overrides all of that.
While the “ can
be used in any command (alias, macro,
event etc.) as well as the command line,
you can simplify the process in the command line. Where you would normally press enter to send the command, if you
hold down the Shift key while pressing enter, Portal© will auto-prefix the
command with a “. This is just a
quickie way to allow you to send literal text without having to backspace and
place a “ at the beginning.
Note: If you wish to have the activator character be treated as
simple text in a line, rather than as a separator or activator, simply put a ~
in front of it. This is VERY
useful when having one action invoke or change another, for example an alias
setting another alias or setting a macro from the command line, etc.
Activator
Character/Command Line Quick Reference (; = Activator Character)
;.......................................................... Repeats
last command
;<#>.................................................... Repeats
last command <#> times
;<#> <command>................................. Repeats <command>
<#> times
;<com1>;<com2>;…<comN>................ Invokes <com1>,
com2>…<comN> separately
;cycle 1-4 say $ say 1, say 2, say 3, say 4
;cycle 4-1 say $ say 4, say 3, say 2, say 1
;abc…xyz............................................ Invokes
quickchars (if any) assigned to abc…xyz
;-abc…xyz........................................... Invokes
quickchars (if any) assigned to abc…xyz in reverse order (using the defined
reversing values)
;--abc…xyz.......................................... Invokes
quickchars (if any) assigned to abc…xyz in full (literal) reverse order
;-......................................................... Reverses
the last invoked quickchar string (using the defined reversed values)
;--........................................................ Fully reverses (literally) the last invoked quickchar string
;jumpstart............................................
Sends the Portal© jumpstart string
;password............................................ Invisibly sends your MUD password to the server
;file <file>............................................. Sends the text (.txt) file <file> to the mud (e.g. ";file c:\bob.txt")
;canvas................................................ Opens the canvas
;canvas <file>....................................... Imports the canvas (.canvas) <file> into the canvas (e.g. ";file c:\canvas2.canvas")
Autotyper
;u........................................................ Autotypes
the active Autotyper file
;u <#>..................................................Autotypes Autotyper file <#>
Secondary Connection
;s or ;s c.............................................. Attempts a secondary connection if none currently exists
;s d..................................................... Disconnects the secondary connection
;s or ;s r.............................................. If a secondary connection exists, this toggles command control between the primary and secondary connections
;s 1..................................................... Sets control to the primary connection
;s 2..................................................... Sets control to the secondary connection
;s <command>..................................... Sends <command> to the opposite connection. This means that if the control is currently set to the primary connection, <command> will get sent to the secondary connection. If the control is currently set to the secondary connection, <command> will get sent to the primary connection.
Aliases
;a........................................................ Lists
all your existing aliases
;a <alias>............................................. Lists
any commands associated with <alias>
;a <alias> <com1>;<com2>................... Adds alias
<alias> with the associated commands <com1> and <com2> (this
will overwrite all commands already in <alias> if it already exists)
;ra <alias>............................................ Removes
<alias> and any associated commands
Macros
;m....................................................... Lists
all macros with existing commands
;m <macro>......................................... Lists
all commands associates with <macro>
In this and all macro examples, capitalization is not required, but
syntax is. For example, if you choose
macro “F5” then you can type F5 or f5, either will work. If you choose macro “Alt+F5” then you can
type Alt+F5 or alt+f5, either will work, but the + is required
;m <macro> <com1>;<com2>............... Associates macro
<macro> with the commands <com1> and <com2> (this will
overwrite all commands already in <macro> if it already exists)
;rm <macro>........................................ Clears
all commands associated with <macro>
Quickchars
;q........................................................ Lists
all quickchars with existing commands
;q <quickchar>..................................... Lists
the command associated with <quickchar>
;q <quickchar> <command>.................. Assigns
<command> to <quickchar>.
If a command is already to the quickchar, it will be replaced with the
new one
;rq <quickchar>.................................... Clears
the command associated with <quickchar>
Nicknames
;n........................................................ Lists
all existing nicknames and associated replacements
;n <nickname> <replacement>............... Creates a new or replaces
the existing nickname <nickname> with the associated <replacement>
;rn <nickname>.................................... Deletes
the existing nickname/replacement pairing associated with <nickname>
Ticker
;t on..................................................... Enables
the Ticker
;t off..................................................... Disables
the Ticker
;t toggle............................................... Toggles
enabling/disabling of the Ticker
;t reset................................................. Resets
the Ticker to 1
;t......................................................... Lists
all existing tickers
;t <tick>;<action>................................. Sets a new ticker, or
replaces an existing ticker of <tick> and <action>
;t <tick>;<action>;................................ Sets a new ticker, or
replaces an existing ticker of <tick> and <action> and sets this
ticker to process as an alias or macro
;rt <tick>;<action>................................ Deletes the ticker identified
by <tick> and <action>
Variables
;variables.............................................. Lists
all defined variables and values
Events
;e........................................................ Lists
all your existing events
;e <e>;<a1>;<a2>;…;<aN>................... Assigns event
<e> to the BASE group with actions <a1> to <aN>
;e
<g>~<e>;<a1>;<a2>;…;<aN>............ Assigns event <e> to group <g> with
actions <a1> to <aN>
;re <group>;<event>.............................. Removes <event> and
associated actions from group <group>
;re <event>........................................... Removes
<event> and associated actions from the BASE group
;e <enabling command>........................ Changes the enabling of events. An enabling command of “d” will disable
ALL events. “e” will re-enable the
events, and “t” will toggle between disabled/enabled.
;de <group>;<event>............................. Disables the individual event <event> in group <group> (no group assumes BASE group)
;ee <group>;<event>............................. Enabled the individual event <event> in group <group> (no group assumes BASE group)
;te <group>;<event>............................. Toggles the enabling/disabling of the individual event <event> in group <group> (no group assumes BASE group)
Note: You can add switches to command line event creation. Simply add the switch(es) at the very end of the line. Use -c to make the event case-sensitive, use -f to make it filtered, use -r to make it retained (only useful if filtering) and use -t to make the event terminal.
Groups
;g........................................................ Lists
the currently active groups
;g status <group>................................. Activates
the <group> group for status events
;g <group1>,<group2>,…,<groupN>....... Activates the <group1>,
<group2>, <groupN> and BASE groups for text events (the BASE group
is automatically added as well, no need to type it)
;g create <group>................................. Attempts
to create group <group>
Miscellaneous
;break ................................................... Halts execution of any unsent commands and clears the command buffer
;panic ................................................... Invokes panic mode
wait <s>................................................ Inserts a delay of <s> seconds into the command buffer (doesn't use the activator character)
Note: When a wait delay is currently ticking down, you can force any command to go right to the MUD by having a comma (,) in the first position of the line. Of course, the leading comma character will be stripped before the command is actually sent to the MUD.
For more on the following Activator character commands,
See the help file on Using Variables.
If Command
;if <condition> then <a1> else <a2>....... Performs <a1> if
<condition> is true, otherwise it performs <a2>
System
Text
;system <text>..................................... Displays
variable/function processing of <text> to the local display
Repeat
the Last Command
Most commands entered into the command line can be repeated using the activator character. You can either repeat the last command once by simply entering the character alone and pressing Enter. Adding a number immediately after the character repeats the last command that many times (max of 99).
Format: <AC><# of times to Repeat>
Examples ; = Repeats the last command once
;10 = Repeats the last command 10 times
;99 = Repeats the last command 99 times
;3534324 = Repeats the last command 99 times
Repeat
Any Command Multiple Times
Most commands entered into the command line can be multiply repeated instantly by using the activator character. You can repeat a command up to a max of 99 times.
Format: <AC><# of times to Repeat><space><Command>
Examples ;5 grin = Sends: grin, grin, grin, grin, grin
;10 smile = Sends: smile (10 times)
Parse a List of Commands
Parsing, defined very simply, is a term used to describe the way a computer “chops up” a string of text into smaller pieces. These little pieces can then be used individually for whatever you need them for. In the client, you can use the activator character to tell the game that you’re sending a string of commands in one line of text. While you enter only one line of text, the game will “parse” the separate commands out of the text and send them individually. If you wish to have the character you selected as your activator character actually in one of the parsed commands, simply put a ~ in front of it.
You can also put wait statements into a parsed list
of commands as well. Simply use the
format “wait #” where # is the number of seconds you with to delay. The “rwait” command works here as well. See the sections on aliases and
macros for
more information on the delay commands.
Format: <AC><Command1><AC><Command2><AC>…<CommandN>
Examples ;grin;smile;dance = Sends: grin, smile, dance
;grin;wait 3;dance = Sends: grin, waits 3 seconds, dance
;n;e;search chest;w = Sends: n, e, search chest, w
;n;e;se~;arch chest;w = Sends: n, e, se;arch chest, w
Note: If you don’t have the program
option “Activator
Required for Parsing” then you don’t need to put the activator character in the
first position.
Note: When parsing a list of commands, placing 2 activator
characters next to one another (i.e. ;;) is interpreted as a carriage return of
an empty line,
Just like with aliases, you can take a string of parsed commands and run them in reverse
order. Not only does this reverse the
order, but it also assigns reversed values to each command (if any). To reverse parsed commands, simply add the
“-“ symbol right after the activator character, just before the string of quickchars. Using a double “—“ in front
will run the commands in the reverse order without assigning their reversed
value.
Note: Defining the
reversed values is done on the program options
screen – Reversing Tab. For the example below, the default values
are used.
Note: After you invoke
any line of quickchars, you can reverse it by entering either ;- or ;--
(whether you want reversed or full reversed commands). This will only work on your last invoked
quickchar string.
;n;n;e;e n, n, e, e
;-n;n;e;e;s n, w, w, s, s
;--n;n;e;e;s s, e, e, n, n
Parsed commands
also allow you to use the “*” to randomly pick one of the parsed commands.
;*grin;smile;dance 1 random choice of grin,
smile or dance
;*tell bob hi;tell bob hey there 1 random choice of “tell bob hi” or “tell bob hey there”
Cycling a Value and Using that Value in Commands
This handy little feature allows you to set a counter to count from one number to another, then use that number in a command. The cycling can count up or down.
Format: <AC>”cycle” <#From>”-“<#To> <Command>
Examples ;cycle 1-4 say $ = say 1, say 2, say 3, say 4
;cycle 6-3 say $ = say 6, say 5, say 4, say 3
;cycle 1-3 sell all from bag $ = sells all from bag 1, 2 and 3
Note: For command purposes, cycled commands follow the rules associated with parsed commands.
Note: Variables can be used with the ;cycle command
Autotyping Files via the Command Line
Hate using the mouse? Then this one’s for you.
Format: <AC>”u” <#>
Examples ;u = autotypes the active Autotyper file
;u 3 = autotypes Autotyper file #3
;u 4 = autotypes Autotyper file #4
When the text in the command line contains the activator character in the first position, followed by only letters and number without any spaces, the game reads that as “the following letters are quickchars, please invoke them as such.” If you include a number before a quickchar, that quickchar will be repeated that many times (max of 99).
Format: <AC><quickchar1><quickchar2>…<quickcharN>
Examples ;nsew = Sends: north, south, east, west
;3nsew = Sends: north, north, north, south, east, west
;nnsedr = Sends: north, north, south, east, down, enter
For another example, if you had the following quickchar settings…
Quickchar Command
a say apple
b say bear
c say cherry
If
you then entered “;ab2c” into the command line, the game would read that as
four separate commands “say apple” “say bear” and “say cherry” twice, and send
them individually to the server. This
is exactly the same as if you typed them individually into the command line and
pressed Enter after each one.
You
can also shove a real command into a string of quickchars using the quick
character (default is the double-quotes - “).
Simply surround the command by the quick character and when the string
is invoked, the command will be sent normally.
Use the following as an example using the same quickchar set as in the
above example.
;abc say
apple, say bear, say cherry
;ab”grin”c say apple,
say bear, grin, say cherry
Send Your Password to the Server
Instead of using the menu item “Send Masked Text” to send your MUD password to the server, you can send it more quickly this way.
Format: <AC>”password”
If your password is “password1” then when you type in “;password” what actually gets sent is “password1” What appears on the screen, however, is that your password was sent, without displaying the password itself.
Note: While it is not displayed to your screen, it is sent
as normal text to the server. This
means that if you’re in the middle of a note or mail, and you use the ;password
command, your actual password would appear in the mail. This is actually a good way of getting your
password if you have forgotten it. Just
start a mail to yourself and type ;password while in the body of the mail. It’s usually a good idea to change it ASAP
after this.
Create/Activate Groups on the Fly
Activate a set of groups for text events or one group for status events. For a set of groups, the BASE group is automatically added.
Format: <AC>”g”<space><Group to Activate>
Examples ;g Lists the currently active groups
;g create <group> Attempts to create group <group>
;g BASE Activates the BASE group
;g base Activates the BASE group
;g TEST,HI Activates the TEST, HI and BASE groups
;g status base Activates the BASE group for status events
The screen will be written with system text color (Options|Program Options|Text Options) as to the result (success, failure, group doesn’t exist etc.) As you can see in the examples, capitalization is not necessary for the group.
Enabling/Disabling and Resetting the Ticker
As with groups, there is a quick way to manipulate the Ticker.
Format: <AC><Ticker Command><Group to Activate>
Examples ;t t = If the Ticker was enabled, it will now be disabled
;t toggle = If the Ticker was disabled, it will now be enabled
;t on = Enables the Ticker
;t off = Disables the Ticker
;t reset = Resets the Ticker to 1
;t r = Resets the Ticker to 1
The screen will be written with system text indicating the result.
Working with Actions and Lots of Other Stuff from the
Command Line
While the individual Action Menu screens do their job just fine, there are times when it might be nice to change something on the fly, without having to open a whole other window to do it. You are able to use the commands listed above in the Quick Reference to manipulate the items. Below is an extensive list of examples to give a better view on how you can manipulate these items via the command line.
All of the command line codes for aliases, macros, quickchars etc. can be done on the fly via the following methods
Command
Line Text
Autotyped
Text
Sent (pasted) Text
Alias Commands
Macro
Commands
Event
Actions
Quickchar
Commands
Ticker
Actions
Parsed
Commands
Note: If you wish to have the character you selected as your activator character appear literally in one of the commands for your alias, macro, etc., simply put a ~ in front of the command. Again, this is great when programming an event to set an alias for example.
;a................................................... Lists
all your existing aliases
;a test............................................. Lists
any commands associated with the alias “test”
;a hi say hello there!......................... Adds alias “hi” with the associated command “say hello
there!” (this will overwrite all commands already in “hi” if it already exists)
;a test grin;smile;grunt...................... Adds alias “test” with the associated commands “grin” “smile”
and “grunt” (this will overwrite all commands already in “test” if it already
exists)
;a test grin;sm~;ile;grunt................... Adds alias “test” with the associated commands “grin” “sm;ile”
and “grunt” (this will overwrite all commands already in “test” if it already
exists)
;ra test................................................. Removes
alias “test” and any associated commands
;m................................................. Lists
all macros with existing commands
;m F5............................................ Lists
all commands associates with macro F5
;m f5.............................................. Lists
all commands associates with macro F5
;m Alt+F5...................................... Lists
all commands associates with macro Alt+F5
;m alt+f5........................................ Lists
all commands associates with macro Alt+F5
;m f5 grin;smile............................... Associates
macro “F5” with the commands “grin” and “smile” (this will overwrite all
commands already in macro F5 if any exist)
;m f5 grin;sm~;ile............................ Associates
macro “F5” with the commands “grin” and “sm;ile” (this will overwrite all
commands already in macro F5 if any exist)
;rm f5................................................... Clears
all commands associated with macro F5
;e................................................... Lists
all your existing events
;e grin;smile;dance.......................... Assigns
event grin to the BASE group with actions smile and dance
;e test~grin;smile;dance.................. Assigns event grin to group TEST with
actions smile and dance
;re TEST; hugs you............................... Removes
the event “hugs you” and associated actions from group TEST
;re hugs you......................................... Removes
the event “hugs you” and associated actions from the BASE group
;q............................................ Lists
all quickchars with existing commands
;q n......................................... Lists
the command associated with quickchar “n”
;q x.................................................... Lists
the command associated with quickchar “x”
;q x exit................................... Assigns
command “exit” to quickchar “x” If a
command is already to x, it will be replaced with exit
;rq x..................................................... Clears
the command associated with quickchar “x”
;n.................................................... Lists
all existing nicknames and associated replacements
;n gneeb gneeblefurtz................ Creates a new or replaces the existing
nickname <nickname> with the associated <replacement>
;rn gneeb.............................................. Deletes
the existing nickname/replacement pairing associated with nickname “gneeb”
;g........................................................ Lists
the currently active groups
;g create <group>................................. Attempts
to create group <group>
;t.................................................. Lists
all existing tickers
;t 5;grin......................................... Sets
a new ticker to force you to “grin” every 5 ticks
;t 15;F5......................................... Sets
a new ticker that will process the macro “F5” (case-sensitive!) every 15 ticks
;rt 5;grin............................................... Deletes
the ticker identified by a tick of 5 and action of ”grin”
;rt 10;F5............................................... Deletes
the ticker identified by a tick of 5 and action of “F5” (the macro)
Activator Character Usage in the Tell and Chat
Monitors
The activator character plays a special role in the Chat and Tell Monitors.
In the Tell Monitor, you can send attempt to invoke a “soul” to the person using a single instance of the character. For Example, if you entered “;grin” into the Tell Field, it would invoke the “grin” soul on the game, directed at the person you have currently selected. There are hundreds of unique souls, each of which can be invoked in this manner.
If you need to send a quick command to the game itself while in the Tell Monitor, you can. Simply enter the activator character twice, followed immediately by the command you need to do. The command will then be sent directly to the game as if you entered it into the command line, and not to the person selected as a tell. An example of this would be “;;put out fire”
To do the same, emergency command line entering in the Chat Monitor, only use the activator character once. In this case, you would use “;put out fire” instead.